package it.sisisoftware.jogmobile;

import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class SingoloNominativo extends Activity {

	// JSON node keys
	private static final String TAG_CODICE = "Codice";
	private static final String TAG_NOME = "Nome";
	private static final String TAG_INDIRIZZO = "Indirizzo";
	private static final String TAG_CITTA = "Citta";
	private static final String TAG_CAP = "Cap";
	private static final String TAG_TELEFONO = "Telefono";
	private static final String TAG_EMAIL = "Email";
	private static final String TAG_NOMINATIVO = "nominativo";
	private String url = "";

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.list_item_singolo_nominativo);

		// getting intent data
		Intent in = getIntent();

		// Get JSON values from previous intent
		String codice = in.getStringExtra(TAG_CODICE);

		// leggere i dati del nominativo dal services

		SharedPreferences pref = PreferenceManager
				.getDefaultSharedPreferences(getApplicationContext());

		url = getString(R.string.url);

		String ut = pref.getString("utente", "jogdemo.admin");
		String pa = pref.getString("password", "admin");

		ut = (ut==""?"jogdemo.admin":ut);
		pa = (pa==""?"admin":pa);
		
		
		// Creating JSON Parser instance
		JSONParser jParser = new JSONParser();

		// getting JSON string from URL
		String utente = ut;
		String password = pa;

		String operazione = "CLIENTI";

		Bundle bundle = this.getIntent().getExtras();
		String parametro = bundle.getString("OPERAZIONE");
		if (parametro != null && !parametro.equals("")) {
			operazione = parametro;
		}
		String filtro = "NULL";
		String filtrounico = codice;

		try {
			utente = General.padAndCrypt(utente);
			password = General.padAndCrypt(password);
			operazione = General.padAndCrypt(operazione);
			filtro = General.padAndCrypt(filtro);
			filtrounico = General.padAndCrypt(filtrounico);
		} catch (Exception e1) {
			e1.printStackTrace();
		}

		JSONObject json = jParser.getJSONFromUrl(url, utente, password,
				operazione, filtro, filtrounico);

		// Getting Array of Contacts
		if (json == null) {
			Toast.makeText(getApplicationContext(),
					"Errore - Controllare utente e password",
					Toast.LENGTH_SHORT).show();

			// TORNA al main principale, ma crea una nuova attivity per ogni
			// chiamata e quindi per tornare con il tasto indietro
			// alla principale dovremo cliccare tante volte...
			/*
			 * Intent intent = new Intent(ViewJSON.this, JogM.class);
			 * startActivity(intent);
			 */

			// TORNA al main principale, senza creare una nuova activity e
			// facendola diventare il TOP delle attivity
			/*
			 * Intent intent =new Intent(ViewJSON.this, JogM.class);
			 * intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP |
			 * Intent.FLAG_ACTIVITY_CLEAR_TOP ); startActivity(intent);
			 */
			finish(); // torna da dove l'abbiamo chiamato, attivity precedente.
			return;
		}

		String nome = "";
		String indirizzo = "";
		String cap = "";
		String citta = "";
		String telefono = "";
		String email = "";
		try {
			JSONObject c = json.getJSONObject(TAG_NOMINATIVO);

			nome = c.getString(TAG_NOME).trim();
			indirizzo = c.getString(TAG_INDIRIZZO).trim();
			cap = c.getString(TAG_CAP).trim();
			citta = c.getString(TAG_CITTA).trim();
			telefono = c.getString(TAG_TELEFONO).trim();
			email = c.getString(TAG_EMAIL).trim();

		} catch (JSONException e) {
			e.printStackTrace();
			finish();
			return;
		}

		// Displaying all values on the screen
		TextView lblNome = (TextView) findViewById(R.id.nome_label);
		TextView lblIndirizzo = (TextView) findViewById(R.id.indirizzo_label);
		TextView lblTelefono = (TextView) findViewById(R.id.telefono_label);
		TextView lblEmail = (TextView) findViewById(R.id.email_label);

		lblNome.setText(codice + ": " + nome);
		lblIndirizzo.setText(indirizzo + " " + citta + " "
				+ (cap == "" ? "" : " (" + cap + ")"));
		lblTelefono.setText(telefono);
		lblEmail.setText(email);

		final String codnom = codice;
		final String desnom = nome; 

		final Button btnEstrattoConto = (Button) findViewById(R.id.btnEstrattoConto);
		btnEstrattoConto.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				Intent intent = new Intent(SingoloNominativo.this, ViewEC.class);
				Bundle bundle = new Bundle();
				bundle.putString("CODNOM", codnom);
				bundle.putString("DESNOM", desnom);
				intent.putExtras(bundle);
				startActivity(intent);
			}
		});

	}
}
